]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
keyring: Make sure the entries are insensitive after submission
authorJasper St. Pierre <jstpierre@mecheye.net>
Fri, 21 Dec 2012 16:07:56 +0000 (11:07 -0500)
committerJasper St. Pierre <jstpierre@mecheye.net>
Wed, 26 Dec 2012 03:18:42 +0000 (22:18 -0500)
https://bugzilla.gnome.org/show_bug.cgi?id=690594

js/ui/components/keyring.js

index 74c9c382c3732b870b035a15f9821099d2229055..e4ecd8f1d33fc905b9183f6699212816e1ab5de4 100644 (file)
@@ -142,6 +142,14 @@ const KeyringDialog = new Lang.Class({
         this._messageBox.add(table, { x_fill: true, y_fill: true });
     },
 
+    _updateSensitivity: function(sensitive) {
+        this._passwordEntry.reactive = sensitive;
+        this._passwordEntry.clutter_text.editable = sensitive;
+
+        this._okButton.can_focus = sensitive;
+        this._okButton.reactive = sensitive;
+    },
+
     _ensureOpen: function() {
         // NOTE: ModalDialog.open() is safe to call if the dialog is
         // already open - it just returns true without side-effects
@@ -177,10 +185,12 @@ const KeyringDialog = new Lang.Class({
     },
 
     _onPasswordActivate: function() {
-        if (this.prompt.confirm_visible)
+        if (this.prompt.confirm_visible) {
+            this._updateSensitivity(true);
             this._confirmEntry.grab_key_focus();
-        else
+        } else {
             this._onContinueButton();
+        }
     },
 
     _onConfirmActivate: function() {
@@ -188,6 +198,7 @@ const KeyringDialog = new Lang.Class({
     },
 
     _onContinueButton: function() {
+        this._updateSensitivity(false);
         this.prompt.complete();
     },